Upon design of an IT system, it is necessary to evaluate and verify whether the design satisfies functional and non-functional requirements (performance, availability, etc.). The methods and techniques for modeling the target system to be evaluated and implementing its functions and non-functions have long been studied. Recently, there have been proposed methods for describing the configuration and behavior of a system in UML (Unified Modeling Language), SysML (Systems Modeling Language) or like modeling language and evaluating the non-functional requirements (NFR) of the system. Because UML adopts drawings as the way of describing models, the language is easy for system engineers (SE) to understand and is appreciably conducive to being used in modeling. SysML is an extended language of UML for system modeling.
There exist methods (e.g., see Patent Literature 1, 2, 3) which, based on the system behavior described by sequence charts and activity charts in UML, automatically generate a queuing model for example. There are also methods (e.g., Patent Literature 4) of simulating the operation of an SoC (System on a Chip) by carrying out performance evaluation using an automatically generated performance evaluation model.
Where an IT system is to be modeled, it is preferred that the hardware configuration (called the server model hereunder) and the software configuration and behavior (called the process model hereunder) be defined separately. That is because the process model and the server model can be designed independently of each other. In fact, the server model and the process model are frequently defined separately. Also, when the server model and the process model are handled separately, the system model is modularized into the server model and the process model so that each model can be managed with ease.
The server model represents the hardware configuration and specifications of the servers involved and the connection relations between the servers on a network, among others. Sometimes, the OS and middleware running on the servers may be included in the server model. The process model describes the behavior between processes such as data exchanges, in addition to the connection relations between the processes. Information indicating which process is executed on which server is described in the form of correspondence relations (called allocations hereunder) between the elements in the process model and those in the server model.
The method of describing the server model and process model separately as outlined above has been practiced with MARIE (Modeling and Analysis of Real-Time and Embedded Systems) (see Non-Patent Document 1) and in AADL (Architecture Analysis and Design Language) (see Non-Patent Document 2), among others. This description method is also adopted by the technique described in Patent Document 3. MARIE is defined as the extended attributes (profile) of UML for evaluating the non-functional requirements of performance, for example. AADL is a modeling language having the function of evaluating non-functional requirements. As with UML, AADL is capable of modeling the system in an easily understandable manner using drawings.